package com.yrkt.dubbo.hystrix.consumer;
import com.netflix.hystrix.contrib.javanica.annotation.HystrixCommand;
import com.yrkt.dubbo.hystrix.api.DemoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class DemoController {
    @Autowired
    DemoService greetings;


    //使用HystrixCommand注解，在fallbackMethod属性中指定fallback的方法
    @HystrixCommand(fallbackMethod="errorFallback")
    @GetMapping("/say")
    String say(){
        return greetings.sayHello("hello");
    }

    //覆写fallbackMethod中指定的方法，注意，此方法的返回值，参数必须与原方法一致
    String errorFallback(){
        return "系统正忙，请稍后重试";
    }
}
